#!/usr/bin/env bun

/**
 * 完整的科技风PPT模板测试用例
 * 用于调试和验证模板生成功能
 */

import { JsonToPptConverter } from '../../../../src/tools/convert/ppt/json-to-ppt.js';

async function runTechTemplateTest() {
  console.log('🚀 科技风PPT模板完整测试');
  console.log('='.repeat(50));
  
  try {
    const converter = new JsonToPptConverter();
    
    // 测试数据
    const testData = [
      {
        "date": "2024年12月",
        "department": "技术研发部", 
        "presenter": "张三",
        "subtitle": "技术创新 · 价值创造",
        "year": "2024"
      },
      {
        "contents": [
          "1. 年度目标达成情况",
          "2. 核心项目成果展示",
          "3. 关键数据指标分析", 
          "4. 挑战与突破总结",
          "5. 能力成长与学习",
          "6. 2025年规划展望"
        ]
      },
      {
        "goals_list": [
          "✅ 系统性能优化 - 响应时间提升40%，达成预期目标120%",
          "✅ 核心功能重构 - 完成3个核心模块架构升级，代码质量显著提升", 
          "✅ 技术债务清理 - 解决历史遗留问题15项，系统稳定性大幅改善",
          "✅ 团队技能提升 - 组织技术分享12次，团队整体技术水平明显提高"
        ],
        "goals_overview": "本年度围绕技术创新和产品优化两大主线，圆满完成各项既定目标，在系统性能、用户体验、团队协作等方面实现显著提升。",
        "year": "2024"
      },
      {
        "achievements": [
          "🎯 用户点击率提升35%，转化率提升28%",
          "🚀 系统并发处理能力提升300%，支持万级并发", 
          "📊 推荐准确率达到92%，超越行业平均水平15%",
          "⚡ 响应时间优化至50ms以内，用户体验显著改善"
        ],
        "projectName": "智能推荐系统v2.0",
        "project_desc": "基于机器学习的智能推荐系统，通过深度学习算法优化用户体验，实现个性化内容推荐。项目周期6个月，团队规模8人。",
        "tech_stack": [
          "• Python 3.9 + Django 4.0",
          "• TensorFlow 2.8 深度学习框架", 
          "• Redis 缓存 + PostgreSQL 数据库",
          "• Docker 容器化部署",
          "• Kubernetes 集群管理"
        ]
      },
      {
        "metrics_summary": "关键指标全面超预期达成，系统稳定性和用户满意度创历史新高，为业务发展提供了强有力的技术保障。",
        "metrics_table": [
          ["指标类型", "年初目标", "实际完成", "完成率"],
          ["代码提交量", "1200次", "1456次", "121.3%"],
          ["Bug修复数", "200个", "267个", "133.5%"],
          ["系统可用性", "99.5%", "99.8%", "100.3%"],
          ["用户满意度", "85分", "91分", "107.1%"]
        ]
      }
    ];
    
    const outputPath = '/Users/ahata/Downloads/科技风年终述职报告-测试版.pptx';
    
    console.log('\n📝 开始生成科技风PPT...');
    console.log(`📂 输出路径: ${outputPath}`);
    
    const result = await converter.convertToPpt({
      data: testData,
      templateName: 'year-end-tech',
      outputPath: outputPath,
      options: {
        author: '张三',
        title: '2024年度述职报告（科技版）',
        size: 'widescreen',
        theme: 'modern',
        includePageNumbers: true
      }
    });
    
    console.log('\n✅ PPT生成成功！');
    console.log('📊 生成统计:');
    console.log(`   - 文件大小: ${(result.size / 1024).toFixed(2)} KB`);
    console.log(`   - 幻灯片数量: ${result.slideCount} 页`);
    console.log(`   - 文件位置: ${result.outputPath}`);
    console.log(`   - 消息: ${result.message}`);
    
    console.log('\n🎨 模板特色:');
    console.log('   - 深色科技感背景（#1a1a2e）');
    console.log('   - 霓虹蓝标题色（#16537e）');  
    console.log('   - 白色文字内容（#ffffff）');
    console.log('   - 16:9宽屏格式');
    console.log('   - 包含页码');
    
    console.log('\n💡 接下来可以:');
    console.log('   1. 打开PPT文件查看效果');
    console.log('   2. 如果背景仍是白色，可能是PPT库版本问题');
    console.log('   3. 可以尝试手动在PowerPoint中设置背景色');
    console.log(`   4. 对比查看 /Users/ahata/Downloads/simple-background-test.pptx`);
    
  } catch (error) {
    console.error('\n❌ PPT生成失败:');
    console.error('   错误信息:', error instanceof Error ? error.message : String(error));
    console.error('   完整错误:', error);
  }
}

if (import.meta.main) {
  runTechTemplateTest();
}
